package com.ihrm.domain.system.vo;

import com.ihrm.domain.system.po.Permission;
import com.ihrm.domain.system.po.PermissionApi;
import com.ihrm.domain.system.po.PermissionMenu;
import com.ihrm.domain.system.po.PermissionPoint;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

@Getter
@Setter
@NoArgsConstructor
public class PermissionResults implements Serializable
{
    /**
     * 主键
     */
    private String id;
    /**
     * 权限名称
     */
    private String name;
    /**
     * 权限类型 1为菜单 2为功能 3为API
     */
    private Integer type;

    // 权限编码 用来表示权限
    private String code;

    /**
     * 权限描述
     */
    private String description;

    private String pid;

    private Integer enVisible;

    /**
     * api
     */

    /**
     * 链接
     */
    private String apiUrl;
    /**
     * 请求类型
     */
    private String apiMethod;
    /**
     * 权限等级，1为通用接口权限，2为需校验接口权限
     */
    private String apiLevel;

    /**
     * point
     */

    /**
     * 权限代码
     */
    // 样式
    private String pointClass;
    // 图标
    private String pointIcon;
    // 状态
    private String pointStatus;

    /**
     * menu
     */

    //展示图标
    private String menuIcon;

    //排序号
    private String menuOrder;

    // 子节点
    private List<PermissionResults> childrenNode = new ArrayList<>();

    // 添加子权限的方法 1个的情况
    public void addChild(PermissionResults child) {
        this.childrenNode.add(child);
    }


}
